﻿using Common.Client.Lib.ViewModels;
using Common.Mvvm.Navigation.Regions;
using Syncfusion.Lib.Data;

namespace Syncfusion.Lib.ViewModels
{
    /// <summary>
    /// 结合 SfDockingManager 及 <see cref="INavigationAware"/> 实现的VM抽象类
    /// </summary>
    public abstract class SfDockingManagerNavigationAware : NavigationAwareViewModelBase, ISfDockingManagerNavigationAware
    {

        #region DockingManage > ContentProperty 信息

        /// <summary>
        /// DockingManage-ContentProperty
        /// </summary>
        private SfDockingManagerContentProperty _contentProperty = new SfDockingManagerContentProperty();

        /// <summary>
        /// DockingManage-ContentProperty
        /// </summary>
        public virtual SfDockingManagerContentProperty ContentProperty
        {
            get => _contentProperty;
            set => SetProperty(ref _contentProperty, value);
        }

        #endregion DockingManage > ContentProperty 信息
    }

    /// <summary>
    /// 具有 <see cref="SfDockingManagerContentProperty"/> 属性的接口
    /// </summary>
    public interface ISfDockingManagerNavigationAware
    {
        /// <summary>
        /// SfDockingManager-ContentProperty
        /// </summary>
        public SfDockingManagerContentProperty ContentProperty
        {
            get;
            set;
        }
    }
}
